package 哈希表;

import java.util.HashMap;

public class LC_242有效的字母异位词 {
    public static void main(String[] args){
        String s = "anagram";
        String t = "nagaram";
        System.out.println(isAnagram(s,t));
    }

    public static boolean isAnagram(String s, String t) {
//        if(s.length()!=t.length())
//            return false;
//        HashMap<Character,Integer> hash=new HashMap<>();
//        for(int i=0;i<s.length();i++){
//            //getOrDefault()有这个值使用默认值0
//            hash.put(s.charAt(i),hash.getOrDefault(s.charAt(i),0)+1);
//        }
//        for(int i=0;i<t.length();i++){
//            hash.put(t.charAt(i),hash.getOrDefault(t.charAt(i),0)-1);
//        }
//        for(int val:hash.values())
//            if(val!=0)
//                return false;
//        return true;
        int[] hash=new int[26];
        for(int i=0;i<s.length();i++)
            hash[s.charAt(i)-'a']++;
        for(int i=0;i<t.length();i++)
            hash[t.charAt(i)-'a']--;
        for(int i=0;i<26;i++)
            if(hash[i]!=0)
                return false;
        return true;
    }
}
